/**
 * 
 */
package modelo;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * 
 * Classe para representar um grafo, mantenho um conjunto de arestas aqui, para facilitar 
 * a captura de todas as arestas.
 * 
 * Internamente os v�rtices tem a capacidade de ter seus v�rtices/arestas adjacentes
 * 
 * @author Rogerio
 *
 */
public class Grafo {


	private List<Vertice> vertices;
	
	private Set<Aresta> arestas;
	
	/**
	 * 
	 */
	public Grafo(List<Vertice> vertices, Set<Aresta> arestas) {
		this.vertices = vertices;
		this.arestas = arestas;
	}
	
	/**
	 * 
	 */
	public Grafo(){
		this.vertices = new ArrayList<Vertice>();
		this.arestas = new HashSet<Aresta>();
	}
	
	/**
	 * @return the vertices
	 */
	public List<Vertice> getVertices() {
		return vertices;
	}

	/**
	 * @param vertices the vertices to set
	 */
	public void setVertices(List<Vertice> vertices) {
		this.vertices = vertices;
	}

	/**
	 * @return the arestas
	 */
	public Set<Aresta> getArestas() {
		return arestas;
	}

	/**
	 * @param arestas the arestas to set
	 */
	public void setArestas(Set<Aresta> arestas) {
		this.arestas = arestas;
	}
	
	@Override
	public String toString() {
		return this.vertices + " - " + this.arestas;
	}
}
